package me.helllp.book.jvm.ch03;

import java.lang.ref.SoftReference;

/**
 * 演示软引用的使用方法
 * 
 * @author Administrator
 *
 */
public class ReferenceType {
	public static void main(String[] args) {
		//	这是一个强引用
		Object o = new Object();
		System.out.println(o.hashCode());
		//	o会在适当时机被回收
		o = null;
		
		Object objRef = new Object();
		System.out.println(objRef.hashCode());
		//	软引用
		SoftReference<Object> aSoftRef = new SoftReference<Object>(objRef);
		//	SoftReference依然保持有objRef的引用，不会马上回收，但是在OutOfMemoryError之前回收对象
		objRef = null;
		//	回收前可以依然获取对象
		objRef = aSoftRef.get();		
		System.out.println(objRef.hashCode());
	}
}
